<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>1.何为数据代理</title>
  </head>
  <body>
    <script type="text/javascript" >
      // 完全是两个对象
      /* let obj1 = {}
      let obj2 = {school:'尚硅谷'}
      // 需求：通过obj1完成对obj2中school的操作（读/写）
      Object.defineProperty(obj1,'school',{
        get(){
          return obj2.school
        },
        set(value){
          obj2.school = value
        }
      })
      console.log(obj1)
      console.log(obj2) */

      // 一个对象内部也能用数据代理
      let obj = {
        a:{
          b:{
            c:{
              d:6
            }
          }
        }
      }

      Object.defineProperty(obj,'d',{
        get(){
          return obj.a.b.c.d
        },
        set(value){
          obj.a.b.c.d = value
        }
      })

      console.log(obj)
    

    </script>
  </body>
</html>